package orgc;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

// 写法	取值来源	核心场景
// @Value("China")	直接注入字面量	固定不变的常量值
// @Value("${key}")	外部配置文件（如 properties）	环境相关的配置参数
// @Value("#{表达式}")	SpEL 表达式（可访问容器资源）	动态计算、访问 Bean 属性等复杂场景
// 示例
// @Value("${spring.profiles.active}") 从外部配置文件中获取当前激活的配置文件（如 application.properties 或 application.yml）
// @Value("#{systemProperties['user.home']}") 获取系统属性，如用户主目录
// @Value("#{T(java.lang.Math).random()}") 调用静态方法获取随机数
// @Value("#{beanName.property}") 访问其他 Bean 的属性，如其他 Bean 的属性值
// @Value("#{beanName.method()}") 调用其他 Bean 的方法

@Configuration
public class CommonConfig {
    @Bean('')
    String Country(@Value("${email.name}") String name, @Value("China") String country) {
        System.out.println("Country");
        return name + "=" + country;
    }

    @Bean
    String Person() {
        System.out.println("Person");
        return "hangman";
    }
}
